--------------------------------------------------------
Τύπος	Περιγραφή			Παράδειγμα
int	Ακέραιοι αριθμοί		int score = 10;
float	Δεκαδικοί αριθμοί		float speed = 5.6f;
double	Δεκαδικοί υψηλής ακρίβειας	double pi = 3.14159;
bool	Αληθές/Ψευδές			bool isJumping = true;
char	Ένας χαρακτήρας			char letter = 'A';
string	Κείμενο	string 			name = "Player";
--------------------------------------------------------
Παράδειγμα:
int health = 100;
float speed = 5.5f;
bool isAlive = true;
string playerName = "Alex";


--------------------------------------------------------
Όρια των τιμών (ελάχιστη, μέγιστη):
Τύπος	Περιγραφή				Παράδειγμα				Ελάχιστη τιμή			Μέγιστη τιμή
int	Ακέραιοι αριθμοί			int score = 10;				-2,147,483,648			2,147,483,647
float	Δεκαδικοί αριθμοί (32-bit)		float speed = 5.6f;			-3.402823 × 10³⁸		3.402823 × 10³⁸
double	Δεκαδικοί υψηλής ακρίβειας (64-bit)	double pi = 3.14159;			-1.7976931348623157 × 10³⁰⁸	1.7976931348623157 × 10³⁰⁸
bool	Αληθές/Ψευδές				bool isJumping = true;			false (0)			true (1)
char	Ένας χαρακτήρας (Unicode)		char letter = 'A';			'\u0000' (null)			'\uffff' (65,535)
string	Κείμενο	string name = "Player";		Δεν έχει όριο, αλλά εξαρτάται από τη μνήμη
long	Ακέραιοι αριθμοί 64-bit			long bigNumber = 9223372036854775807;	-9,223,372,036,854,775,808	9,223,372,036,854,775,807
short	Μικρότεροι ακέραιοι αριθμοί 16-bit	short smallNumber = 32000;		-32,768				32,767
byte	Θετικοί ακέραιοι 8-bit			byte smallByte = 255;			0				255
sbyte	Υπογεγραμμένοι ακέραιοι 8-bit		sbyte signedByte = -128;		-128				127
uint	Θετικοί ακέραιοι 32-bit			uint positiveNum = 4000000000;		0				4,294,967,295
ulong	Θετικοί ακέραιοι 64-bit			ulong largeNum = 18446744073709551615;	0				18,446,744,073,709,551,615
decimal	Δεκαδικοί ακριβείας 128-bit 		decimal money = 99.99m;			-79,228,162,514,264,337,593,543,950,335		79,228,162,514,264,337,593,543,950,335


--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
Δομές Ελέγχου: if - else

int health = 50;
if (health > 0)
{
    Debug.Log("Ο παίκτης είναι ζωντανός!");
}
else
{
    Debug.Log("Ο παίκτης έχασε.");
}


--------------------------------------------------------
Δομές Ελέγχου: switch

int weapon = 1;
switch (weapon)
{
    case 1:
        Debug.Log("Έχεις σπαθί!");
        break;
    case 2:
        Debug.Log("Έχεις τόξο!");
        break;
    default:
        Debug.Log("Άγνωστο όπλο!");
        break;
}


--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
Βρόχοι (Loops): for

for (int i = 0; i < 5; i++)
{
    Debug.Log("Hello Unity! " + i);
}


--------------------------------------------------------
Βρόχοι (Loops): while

int counter = 0;
while (counter < 3)
{
    Debug.Log("Μετράμε: " + counter);
    counter++;
}

--------------------------------------------------------
Βρόχοι (Loops): do-while

int number = 0;
do
{
    Debug.Log("Αυτό θα εκτελεστεί τουλάχιστον μία φορά!");
    number++;
} while (number < 3);

--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
Συναρτήσεις (Methods)

void SayHello()
{
    Debug.Log("Γεια σου παίκτη!");
}

// Κλήση συνάρτησης
SayHello();

--------------------------------------------------------
Συναρτήσεις με επιστροφή τιμής

int Add(int a, int b)
{
    return a + b;
}

int result = Add(3, 7);
Debug.Log("Το αποτέλεσμα είναι: " + result);

--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
Κλάσεις και Αντικείμενα (OOP): Δημιουργία κλάσης

class Player
{
    public string name;
    public int health;

    public void TakeDamage(int damage)
    {
        health -= damage;
        Debug.Log(name + " πήρε " + damage + " ζημιά!");
    }
}


--------------------------------------------------------
Κλάσεις και Αντικείμενα (OOP): Χρήση της κλάσης

Player player1 = new Player();
player1.name = "Hero";
player1.health = 100;

player1.TakeDamage(20);

--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
Λίστες & Πίνακες: Πίνακες (Arrays)

int[] scores = {10, 20, 30};
Debug.Log("Το πρώτο σκορ είναι: " + scores[0]);

--------------------------------------------------------
Λίστες & Πίνακες: Λίστες (Lists)

using System.Collections.Generic;

List<string> enemies = new List<string>();
enemies.Add("Goblin");
enemies.Add("Orc");

Debug.Log("Ο πρώτος εχθρός είναι: " + enemies[0]);

--------------------------------------------------------
--------------------------------------------------------
--------------------------------------------------------
Κληρονομικότητα (Inheritance)

class Enemy
{
    public int health = 100;

    public void TakeDamage(int damage)
    {
        health -= damage;
        Debug.Log("Έμεινε ζωή: " + health);
    }
}

class Boss : Enemy
{
    public void SpecialAttack()
    {
        Debug.Log("Ο αρχηγός εκτελεί ειδική επίθεση!");
    }
}

--------------------------------------------------------

